package cn.ejopenai.demo;

import cn.ejopenai.core.OpenAIService;
import cn.ejopenai.core.RequestHandler;
import cn.ejopenai.core.ResponseResult;

import java.util.Scanner;

public class EjOpenAIDemo {

    public static void main(String[] args) {
        String apiKey = "you apikey";
        // 创建 OpeanAIService 带入apiKey
        OpenAIService aiService = new OpenAIService(apiKey);

        // 创建请求处理器，封装请求基本信息和请求体
        RequestHandler requestHandler = new RequestHandler();
        requestHandler
                .setPrompt("你是一个有用的客服小妹，名称为小丽")
                .setInit(true)      // 作为初始化消息先发送
                .setMaxTokens(100);

        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String line = sc.nextLine();
            requestHandler.setPrompt(line);
            chatGPT(aiService,requestHandler);
        }
    }

    public static void chatGPT(OpenAIService aiService,RequestHandler requestHandler){
        // 使用 OpenAIService 发起请求得到响应
        ResponseResult responseResult = aiService.sendRequest(requestHandler);
        // 结果包含了当次返回的所有数据，拆解之后的回复数据，历史数据
        responseResult.getAllResult().forEach(msg -> {
            System.out.println("问：" + msg.getQuestions());
            System.out.println("答：" + msg.getAnswer());
            System.out.println("--------------------------------");
        });
    }
}
